深度优先搜索
排列、组合
A(n,m) = 在n个元素中选择m个进行排列
A(n,m)=n∗(n−1)∗...∗(n−m+1)A(n,m) = n * (n-1) * ... * (n-m+1) A(n,m)=n∗(n−1)∗...∗(n−m+1)
*****) = 在n个元素中选择m个进行组合(无重复)
*****)=A(n,m)/A(m,m)=[n∗(n−1)∗...∗(n−m+1)]/m!*****) = A(n,m)/A(m,m) = [ n * (n-1) * ...* (n-m+1) ] / m! *****)=A(n,m)/A(m,m)=[n∗(n−1)∗...∗(n−m+1)]/m!
组合排序(定序):
剪枝
过程中去掉超过范围的状态
可行性https://www.luogu.com.cn/problem/B3624
最优性https://www.acgo.cn/problemset/8051/info
连通性